<!DOCTYPE html>
<html>

<head>
  <title>Quarkus - Using JMS</title>
  <script id="adobe_dtm" src="https://www.redhat.com/dtm.js" type="text/javascript"></script>
  <script src="/assets/javascript/highlight.pack.js" type="text/javascript"></script>
  <META HTTP-EQUIV='Content-Security-Policy' CONTENT="default-src 'none'; script-src 'self' 'unsafe-eval' 'sha256-ANpuoVzuSex6VhqpYgsG25OHWVA1I+F6aGU04LoI+5s=' 'sha256-ipy9P/3rZZW06mTLAR0EnXvxSNcnfSDPLDuh3kzbB1w=' js.bizographics.com https://www.redhat.com assets.adobedtm.com jsonip.com https://ajax.googleapis.com https://www.googletagmanager.com https://www.google-analytics.com https://use.fontawesome.com; style-src 'self' https://fonts.googleapis.com https://use.fontawesome.com; img-src 'self' *; media-src 'self' ; frame-src https://www.googletagmanager.com https://www.youtube.com; frame-ancestors 'none'; base-uri 'none'; object-src 'none'; form-action 'none'; font-src 'self' https://use.fontawesome.com https://fonts.gstatic.com;">
  <META HTTP-EQUIV='X-Frame-Options' CONTENT="DENY">
  <META HTTP-EQUIV='X-XSS-Protection' CONTENT="1; mode=block">
  <META HTTP-EQUIV='X-Content-Type-Options' CONTENT="nosniff">
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="description" content="Quarkus: Supersonic Subatomic Java">
  <meta name="twitter:card" content="summary_large_image">
  <meta name="twitter:site" content="@QuarkusIO"> 
  <meta name="twitter:creator" content="@QuarkusIO">
  <meta property="og:url" content="https://quarkus.io/guides/jms" />
  <meta property="og:title" content="Quarkus - Using JMS" />
  <meta property="og:description" content="Quarkus: Supersonic Subatomic Java" />
  <meta property="og:image" content="/assets/images/quarkus_card.png" />
  <link rel="canonical" href="https://quarkus.io/guides/jms">
  <link rel="shortcut icon" type="image/png" href="/favicon.ico" >
  <link rel="stylesheet" href="https://quarkus.io/guides/stylesheet/config.css" />
  <link rel="stylesheet" href="/assets/css/main.css" />
  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.0/css/all.css" integrity="sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt" crossorigin="anonymous">
  <link rel="alternate" type="application/rss+xml"  href="https://quarkus.io/feed.xml" title="Quarkus">
  <script src="https://quarkus.io/assets/javascript/goan.js" type="text/javascript"></script>
  <script src="https://quarkus.io/assets/javascript/hl.js" type="text/javascript"></script>
</head>

<body class="guides">
  <!-- Google Tag Manager (noscript) -->
  <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NJWS5L"
  height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
  <!-- End Google Tag Manager (noscript) -->

  <div class="nav-wrapper">
  <div class="grid-wrapper">
    <div class="width-12-12">
      <input type="checkbox" id="checkbox" />
      <nav id="main-nav" class="main-nav">
  <div class="container">
    <div class="logo-wrapper">
      
        <a href="/"><img src="/assets/images/quarkus_logo_horizontal_rgb_600px_reverse.png" class="project-logo" title="Quarkus"></a>
      
    </div>
    <label class="nav-toggle" for="checkbox">
      <i class="fa fa-bars"></i>
    </label>
    <div id="menu" class="menu">
      <span>
        <a href="/get-started/" class="">Get Started</a>
      </span>
      <span>
        <a href="/guides/" class="active">Guides</a>
      </span>
      <span>
        <a href="/community/" class="">Community</a>
      </span>
      <span>
        <a href="/support/" class="">Support</a>
      </span>
      <span>
        <a href="/blog/" class="">Blog</a>
      </span>
      <span>
        <a href="https://code.quarkus.io" class="button-cta secondary white">Start Coding</a>
      </span>
    </div>
  </div>
      </nav>
    </div>
  </div>
</div>

  <div class="content">
    <div class="guide">
  <div class="width-12-12">
    <h1 class="text-caps">Quarkus - Using JMS</h1>
    <div class="hide-mobile toc"><ul class="sectlevel1">
<li><a href="#prerequisites">Prerequisites</a></li>
<li><a href="#architecture">Architecture</a></li>
<li><a href="#qpid-jms-amqp">Qpid JMS - AMQP</a>
<ul class="sectlevel2">
<li><a href="#solution">Solution</a></li>
<li><a href="#creating-the-maven-project">Creating the Maven Project</a></li>
<li><a href="#starting-the-broker">Starting the broker</a></li>
<li><a href="#the-price-producer">The price producer</a></li>
<li><a href="#the-price-consumer">The price consumer</a></li>
<li><a href="#the-price-resource">The price resource</a></li>
<li><a href="#the-html-page">The HTML page</a></li>
<li><a href="#configure-the-qpid-jms-properties">Configure the Qpid JMS properties</a></li>
<li><a href="#get-it-running">Get it running</a></li>
<li><a href="#running-native">Running Native</a></li>
</ul>
</li>
<li><a href="#artemis-jms">Artemis JMS</a>
<ul class="sectlevel2">
<li><a href="#solution-2">Solution</a></li>
<li><a href="#creating-the-maven-project-2">Creating the Maven Project</a></li>
<li><a href="#configure-the-artemis-properties">Configure the Artemis properties</a></li>
<li><a href="#configuration-reference">Configuration Reference</a></li>
</ul>
</li>
</ul></div>
    <div>
      <div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>This guide demonstrates how your Quarkus application can use JMS messaging via the
Apache Qpid JMS AMQP client, or alternatively the Apache ActiveMQ Artemis JMS client.</p>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
<div class="paragraph">
<p>This technology is considered preview.</p>
</div>
<div class="paragraph">
<p>In <em>preview</em>, backward compatibility and presence in the ecosystem is not guaranteed.
Specific improvements might require to change configuration or APIs and plans to become <em>stable</em> are under way.
Feedback is welcome on our <a href="https://groups.google.com/d/forum/quarkus-dev">mailing list</a> or as issues in our <a href="https://github.com/quarkusio/quarkus/issues">GitHub issue tracker</a>.</p>
</div>
<div class="paragraph">
<p>For a full list of possible extension statuses, check our <a href="https://quarkus.io/faq/#extension-status">FAQ entry</a>.</p>
</div>
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="sect1">
<h2 id="prerequisites"><a class="anchor" href="#prerequisites"></a>Prerequisites</h2>
<div class="sectionbody">
<div class="paragraph">
<p>To complete this guide, you need:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>less than 15 minutes</p>
</li>
<li>
<p>an IDE</p>
</li>
<li>
<p>JDK 1.8+ installed with <code>JAVA_HOME</code> configured appropriately</p>
</li>
<li>
<p>Apache Maven 3.6.2+</p>
</li>
<li>
<p>A running Artemis server, or Docker to start one</p>
</li>
<li>
<p>GraalVM, or Docker, installed if you want to run in native mode.</p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="architecture"><a class="anchor" href="#architecture"></a>Architecture</h2>
<div class="sectionbody">
<div class="paragraph">
<p>In this guide, we are going to generate (random) prices in one component.
These prices are written to a queue (<code>prices</code>) using a JMS client.
Another component reads from the <code>prices</code> queue and stores the latest price.
The data can be fetched from a browser using a fetch button from a JAX-RS resource.</p>
</div>
<div class="paragraph">
<p>The guide can be used either via the Apache Qpid JMS AMQP client as detailed immediately below, or
alternatively with the Apache ActiveMQ Artemis JMS client given some different configuration
as <a href="#artemis-jms">detailed later</a>.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="qpid-jms-amqp"><a class="anchor" href="#qpid-jms-amqp"></a>Qpid JMS - AMQP</h2>
<div class="sectionbody">
<div class="paragraph">
<p>In the detailed steps below we will use the <a href="https://qpid.apache.org/components/jms/">Apache Qpid JMS</a>
client via the <a href="https://github.com/amqphub/quarkus-qpid-jms/">Quarkus Qpid JMS extension</a>. Qpid JMS
uses the AMQP 1.0 ISO standard as its wire protocol, allowing it to be used with a variety of
AMQP 1.0 servers and services such as ActiveMQ Artemis, ActiveMQ 5, Qpid Broker-J, Qpid Dispatch router,
Azure Service Bus, and more.</p>
</div>
<div class="sect2">
<h3 id="solution"><a class="anchor" href="#solution"></a>Solution</h3>
<div class="paragraph">
<p>We recommend that you follow the instructions in the next sections and create the application step by step.
However, you can go right to the completed example.</p>
</div>
<div class="paragraph">
<p>Clone the Git repository: <code>git clone <a href="https://github.com/amqphub/quarkus-qpid-jms-quickstart.git" class="bare">https://github.com/amqphub/quarkus-qpid-jms-quickstart.git</a></code>,
or download an <a href="https://github.com/amqphub/quarkus-qpid-jms-quickstart/archive/master.zip">archive</a>.</p>
</div>
</div>
<div class="sect2">
<h3 id="creating-the-maven-project"><a class="anchor" href="#creating-the-maven-project"></a>Creating the Maven Project</h3>
<div class="paragraph">
<p>First, we need a new project. Create a new project with the following command:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-none hljs">mvn io.quarkus:quarkus-maven-plugin:1.7.0.Final:create \
    -DprojectGroupId=org.acme \
    -DprojectArtifactId=jms-quickstart \
    -Dextensions="qpid-jms"
cd jms-quickstart</code></pre>
</div>
</div>
<div class="paragraph">
<p>This command generates a Maven project, with its pom.xml importing the quarkus-qpid-jms extension:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-none hljs">&lt;dependency&gt;
    &lt;groupId&gt;org.amqphub.quarkus&lt;/groupId&gt;
    &lt;artifactId&gt;quarkus-qpid-jms&lt;/artifactId&gt;
&lt;/dependency&gt;</code></pre>
</div>
</div>
</div>
<div class="sect2">
<h3 id="starting-the-broker"><a class="anchor" href="#starting-the-broker"></a>Starting the broker</h3>
<div class="paragraph">
<p>Then, we need an AMQP broker. In this case we will use an ActiveMQ Artemis server.
You can follow the instructions from the <a href="https://activemq.apache.org/components/artemis/">Apache Artemis web site</a> or start a broker via docker:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-none hljs">docker run -it --rm -p 8161:8161 -p 61616:61616 -p 5672:5672 -e ARTEMIS_USERNAME=quarkus -e ARTEMIS_PASSWORD=quarkus vromero/activemq-artemis:2.11.0-alpine</code></pre>
</div>
</div>
</div>
<div class="sect2">
<h3 id="the-price-producer"><a class="anchor" href="#the-price-producer"></a>The price producer</h3>
<div class="paragraph">
<p>Create the <code>src/main/java/org/acme/jms/PriceProducer.java</code> file, with the following content:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code data-lang="java" class="language-java hljs">package org.acme.jms;

import java.util.Random;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.event.Observes;
import javax.inject.Inject;
import javax.jms.ConnectionFactory;
import javax.jms.JMSContext;
import javax.jms.Session;

import io.quarkus.runtime.ShutdownEvent;
import io.quarkus.runtime.StartupEvent;

/**
 * A bean producing random prices every 5 seconds and sending them to the prices JMS queue.
 */
@ApplicationScoped
public class PriceProducer implements Runnable {

    @Inject
    ConnectionFactory connectionFactory;

    private final Random random = new Random();
    private final ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor();

    void onStart(@Observes StartupEvent ev) {
        scheduler.scheduleWithFixedDelay(this, 0L, 5L, TimeUnit.SECONDS);
    }

    void onStop(@Observes ShutdownEvent ev) {
        scheduler.shutdown();
    }

    @Override
    public void run() {
        try (JMSContext context = connectionFactory.createContext(Session.AUTO_ACKNOWLEDGE)) {
            context.createProducer().send(context.createQueue("prices"), Integer.toString(random.nextInt(100)));
        }
    }
}</code></pre>
</div>
</div>
</div>
<div class="sect2">
<h3 id="the-price-consumer"><a class="anchor" href="#the-price-consumer"></a>The price consumer</h3>
<div class="paragraph">
<p>The price consumer reads the prices from JMS, and stores the last one.
Create the <code>src/main/java/org/acme/jms/PriceConsumer.java</code> file with the following content:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code data-lang="java" class="language-java hljs">package org.acme.jms;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.event.Observes;
import javax.inject.Inject;
import javax.jms.ConnectionFactory;
import javax.jms.JMSConsumer;
import javax.jms.JMSContext;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.Session;

import io.quarkus.runtime.ShutdownEvent;
import io.quarkus.runtime.StartupEvent;

/**
 * A bean consuming prices from the JMS queue.
 */
@ApplicationScoped
public class PriceConsumer implements Runnable {

    @Inject
    ConnectionFactory connectionFactory;

    private final ExecutorService scheduler = Executors.newSingleThreadExecutor();

    private volatile String lastPrice;

    public String getLastPrice() {
        return lastPrice;
    }

    void onStart(@Observes StartupEvent ev) {
        scheduler.submit(this);
    }

    void onStop(@Observes ShutdownEvent ev) {
        scheduler.shutdown();
    }

    @Override
    public void run() {
        try (JMSContext context = connectionFactory.createContext(Session.AUTO_ACKNOWLEDGE)) {
            JMSConsumer consumer = context.createConsumer(context.createQueue("prices"));
            while (true) {
                Message message = consumer.receive();
                if (message == null) return;
                lastPrice = message.getBody(String.class);
            }
        } catch (JMSException e) {
            throw new RuntimeException(e);
        }
    }
}</code></pre>
</div>
</div>
</div>
<div class="sect2">
<h3 id="the-price-resource"><a class="anchor" href="#the-price-resource"></a>The price resource</h3>
<div class="paragraph">
<p>Finally, let&#8217;s create a simple JAX-RS resource to show the last price.
Create the <code>src/main/java/org/acme/jms/PriceResource.java</code> file with the following content:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code data-lang="java" class="language-java hljs">package org.acme.jms;

import javax.inject.Inject;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

/**
 * A simple resource showing the last price.
 */
@Path("/prices")
public class PriceResource {

    @Inject
    PriceConsumer consumer;

    @GET
    @Path("last")
    @Produces(MediaType.TEXT_PLAIN)
    public String last() {
        return consumer.getLastPrice();
    }
}</code></pre>
</div>
</div>
</div>
<div class="sect2">
<h3 id="the-html-page"><a class="anchor" href="#the-html-page"></a>The HTML page</h3>
<div class="paragraph">
<p>Final touch, the HTML page reading the converted prices using SSE.</p>
</div>
<div class="paragraph">
<p>Create the <code>src/main/resources/META-INF/resources/prices.html</code> file, with the following content:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code data-lang="html" class="language-html hljs">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Prices&lt;/title&gt;

    &lt;link rel="stylesheet" type="text/css"
          href="https://cdnjs.cloudflare.com/ajax/libs/patternfly/3.24.0/css/patternfly.min.css"&gt;
    &lt;link rel="stylesheet" type="text/css"
          href="https://cdnjs.cloudflare.com/ajax/libs/patternfly/3.24.0/css/patternfly-additions.min.css"&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div class="container"&gt;

    &lt;h2&gt;Last price&lt;/h2&gt;
    &lt;div class="row"&gt;
    &lt;p class="col-md-12"&gt;&lt;button id="fetch"&gt;Fetch&lt;/button&gt;The last price is &lt;strong&gt;&lt;span id="content"&gt;N/A&lt;/span&gt;&amp;nbsp;&amp;euro;&lt;/strong&gt;.&lt;/p&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;script&gt;
    document.getElementById("fetch").addEventListener("click", function() {
        fetch("/prices/last").then(function (response) {
            response.text().then(function (text) {
                document.getElementById("content").textContent = text;
            })
        })
    })
&lt;/script&gt;
&lt;/html&gt;</code></pre>
</div>
</div>
<div class="paragraph">
<p>Nothing spectacular here. On each fetch, it updates the page.</p>
</div>
</div>
<div class="sect2">
<h3 id="configure-the-qpid-jms-properties"><a class="anchor" href="#configure-the-qpid-jms-properties"></a>Configure the Qpid JMS properties</h3>
<div class="paragraph">
<p>We need to configure the Qpid JMS properties used by the extension when
injecting the ConnectionFactory.</p>
</div>
<div class="paragraph">
<p>This is done in the <code>src/main/resources/application.properties</code> file.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-none hljs"># Configures the Qpid JMS properties.
quarkus.qpid-jms.url=amqp://localhost:5672
quarkus.qpid-jms.username=quarkus
quarkus.qpid-jms.password=quarkus</code></pre>
</div>
</div>
<div class="paragraph">
<p>More detail about the configuration are available in the <a href="https://github.com/amqphub/quarkus-qpid-jms#configuration">Quarkus Qpid JMS</a> documentation.</p>
</div>
</div>
<div class="sect2">
<h3 id="get-it-running"><a class="anchor" href="#get-it-running"></a>Get it running</h3>
<div class="paragraph">
<p>If you followed the instructions, you should have the Artemis server running.
Then, you just need to run the application using:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code data-lang="shell" class="language-shell hljs">./mvnw compile quarkus:dev</code></pre>
</div>
</div>
<div class="paragraph">
<p>Open <code><a href="http://localhost:8080/prices.html" class="bare">http://localhost:8080/prices.html</a></code> in your browser.</p>
</div>
</div>
<div class="sect2">
<h3 id="running-native"><a class="anchor" href="#running-native"></a>Running Native</h3>
<div class="paragraph">
<p>You can build the native executable with:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code data-lang="shell" class="language-shell hljs">./mvnw package -Pnative</code></pre>
</div>
</div>
<div class="paragraph">
<p>Or, if you don&#8217;t have GraalVM installed, you can instead use Docker to build the native executable using:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code data-lang="shell" class="language-shell hljs">./mvnw package -Pnative -Dquarkus.native.container-build=true</code></pre>
</div>
</div>
<div class="paragraph">
<p>and then run with:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code data-lang="shell" class="language-shell hljs">./target/jms-quickstart-1.0-SNAPSHOT-runner</code></pre>
</div>
</div>
<div class="paragraph">
<p>Open <code><a href="http://localhost:8080/prices.html" class="bare">http://localhost:8080/prices.html</a></code> in your browser.</p>
</div>
<hr>
</div>
</div>
</div>
<div class="sect1">
<h2 id="artemis-jms"><a class="anchor" href="#artemis-jms"></a>Artemis JMS</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The above steps detailed using the Qpid JMS AMQP client, however the guide can also be used
with the Artemis JMS client. Many of the individual steps are exactly as previously
<a href="#qpid-jms-amqp">detailed above for Qpid JMS</a>. The individual component code is the same.
The only differences are in the dependency for the initial project creation, and the
configuration properties used. These changes are detailed below and should be substituted
for the equivalent step during the sequence above.</p>
</div>
<div class="sect2">
<h3 id="solution-2"><a class="anchor" href="#solution-2"></a>Solution</h3>
<div class="paragraph">
<p>You can go right to the completed example.</p>
</div>
<div class="paragraph">
<p>Clone the Git repository: <code>git clone <a href="https://github.com/quarkusio/quarkus-quickstarts.git" class="bare">https://github.com/quarkusio/quarkus-quickstarts.git</a></code>, or download an <a href="https://github.com/quarkusio/quarkus-quickstarts/archive/master.zip">archive</a>.</p>
</div>
<div class="paragraph">
<p>The Artemis JMS solution is located in the <code>jms-quickstart</code> <a href="https://github.com/quarkusio/quarkus-quickstarts/tree/master/jms-quickstart">directory</a>.</p>
</div>
</div>
<div class="sect2">
<h3 id="creating-the-maven-project-2"><a class="anchor" href="#creating-the-maven-project-2"></a>Creating the Maven Project</h3>
<div class="paragraph">
<p>Create a new project with the following command:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-none hljs">mvn io.quarkus:quarkus-maven-plugin:1.7.0.Final:create \
    -DprojectGroupId=org.acme \
    -DprojectArtifactId=jms-quickstart \
    -Dextensions="artemis-jms"
cd jms-quickstart</code></pre>
</div>
</div>
<div class="paragraph">
<p>This creates a Maven project, with its pom.xml importing the quarkus-artemis-jms extension:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-none hljs">&lt;dependency&gt;
  &lt;groupId&gt;io.quarkus&lt;/groupId&gt;
  &lt;artifactId&gt;quarkus-artemis-jms&lt;/artifactId&gt;
&lt;/dependency&gt;</code></pre>
</div>
</div>
<div class="paragraph">
<p>With the project created, you can resume from <a href="#starting-the-broker">Starting the broker</a> in the detailed steps above
and proceed until configuring the <code>application.properties</code> file, when you should use the Artemis
configuration below instead.</p>
</div>
</div>
<div class="sect2">
<h3 id="configure-the-artemis-properties"><a class="anchor" href="#configure-the-artemis-properties"></a>Configure the Artemis properties</h3>
<div class="paragraph">
<p>We need to configure the Artemis connection properties.
This is done in the <code>src/main/resources/application.properties</code> file.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-none hljs"># Configures the Artemis properties.
quarkus.artemis.url=tcp://localhost:61616
quarkus.artemis.username=quarkus
quarkus.artemis.password=quarkus</code></pre>
</div>
</div>
<div class="paragraph">
<p>With the Artemis properties configured, you can resume the steps above from <a href="#get-it-running">Get it running</a>.</p>
</div>
</div>
<div class="sect2">
<h3 id="configuration-reference"><a class="anchor" href="#configuration-reference"></a>Configuration Reference</h3>
<div class="paragraph configuration-legend">
<p><span class="icon"><i class="fa fa-lock" title="Fixed at build time"></i></span> Configuration property fixed at build time - All other configuration properties are overridable at runtime</p>
</div>
<table class="tableblock frame-all grid-all stretch configuration-reference searchable">
<colgroup>
<col style="width: 80%;">
<col style="width: 10%;">
<col style="width: 10%;">
</colgroup>
<tbody>
<tr>
<th class="tableblock halign-left valign-top"><p class="tableblock"><a id="quarkus-artemis-core_configuration"></a><a href="#quarkus-artemis-core_configuration">Configuration property</a></p></th>
<th class="tableblock halign-left valign-middle"><p class="tableblock">Type</p></th>
<th class="tableblock halign-left valign-middle"><p class="tableblock">Default</p></th>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><span class="icon"><i class="fa fa-lock" title="Fixed at build time"></i></span> <a id="quarkus-artemis-core_quarkus.artemis.health.enabled"></a><code><a href="#quarkus-artemis-core_quarkus.artemis.health.enabled">quarkus.artemis.health.enabled</a></code></p>
</div>
<div class="openblock description">
<div class="content">
<div class="paragraph">
<p>Whether or not an health check is published in case the smallrye-health extension is present</p>
</div>
</div>
</div></div></td>
<td class="tableblock halign-left valign-middle"><p class="tableblock">boolean</p></td>
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code>true</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><a id="quarkus-artemis-core_quarkus.artemis.url"></a><code><a href="#quarkus-artemis-core_quarkus.artemis.url">quarkus.artemis.url</a></code></p>
</div>
<div class="openblock description">
<div class="content">
<div class="paragraph">
<p>Artemis connection url</p>
</div>
</div>
</div></div></td>
<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-middle"><p class="tableblock">required <span class="icon"><i class="fa fa-exclamation-circle" title="Configuration property is required"></i></span></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><a id="quarkus-artemis-core_quarkus.artemis.username"></a><code><a href="#quarkus-artemis-core_quarkus.artemis.username">quarkus.artemis.username</a></code></p>
</div>
<div class="openblock description">
<div class="content">
<div class="paragraph">
<p>Username for authentication, only used with JMS</p>
</div>
</div>
</div></div></td>
<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-middle"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><a id="quarkus-artemis-core_quarkus.artemis.password"></a><code><a href="#quarkus-artemis-core_quarkus.artemis.password">quarkus.artemis.password</a></code></p>
</div>
<div class="openblock description">
<div class="content">
<div class="paragraph">
<p>Password for authentication, only used with JMS</p>
</div>
</div>
</div></div></td>
<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-middle"></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
    </div>
  </div>
</div>

  </div>

  <div class="content project-footer">
  <div class="footer-section">
    <div class="logo-wrapper">
      <a href="/"><img src="/assets/images/quarkus_logo_horizontal_rgb_reverse.svg" class="project-logo" title="Quarkus"></a>
    </div>
  </div>
  <div class="grid-wrapper">
    <p class="grid__item width-3-12">Quarkus is open. All dependencies of this project are available under the <a href='https://www.apache.org/licenses/LICENSE-2.0' target='_blank'>Apache Software License 2.0</a> or compatible license.<br /><br />This website was built with <a href='https://jekyllrb.com/' target='_blank'>Jekyll</a>, is hosted on <a href='https://pages.github.com/' target='_blank'>Github Pages</a> and is completely open source. If you want to make it better, <a href='https://github.com/quarkusio/quarkusio.github.io' target='_blank'>fork the website</a> and show us what you’ve got.</p>

    
      <div class="width-1-12 project-links">
        <span>Navigation</span>
        <ul class="footer-links width-1-12">
          
            <li><a href="/">Home</a></li>
          
            <li><a href="/guides">Guides</a></li>
          
            <li><a href="/community/#contributing">Contribute</a></li>
          
            <li><a href="/faq">FAQ</a></li>
          
            <li><a href="/get-started">Get Started</a></li>
          
        </ul>
      </div>
    
      <div class="width-1-12 project-links">
        <span>Contribute</span>
        <ul class="footer-links width-1-12">
          
            <li><a href="https://twitter.com/quarkusio">Follow us</a></li>
          
            <li><a href="https://github.com/quarkusio">GitHub</a></li>
          
            <li><a href="/security">Security&nbsp;policy</a></li>
          
        </ul>
      </div>
    
      <div class="width-1-12 project-links">
        <span>Get Help</span>
        <ul class="footer-links width-1-12">
          
            <li><a href="https://groups.google.com/forum/#!forum/quarkus-dev">Forums</a></li>
          
            <li><a href="https://quarkusio.zulipchat.com">Chatroom</a></li>
          
        </ul>
      </div>
    

    
      <div class="width-3-12 more-links">
        <span>Quarkus is made of community projects</span>
        <ul class="footer-links">
          
            <li><a href="https://vertx.io/" target="_blank">Eclipse Vert.x</a></li>
          
            <li><a href="https://microprofile.io" target="_blank">Eclipse MicroProfile</a></li>
          
            <li><a href="https://hibernate.org" target="_blank">Hibernate</a></li>
          
            <li><a href="https://netty.io" target="_blank">Netty</a></li>
          
            <li><a href="https://resteasy.github.io" target="_blank">RESTEasy</a></li>
          
            <li><a href="https://camel.apache.org" target="_blank">Apache Camel</a></li>
          
            <li><a href="https://code.quarkus.io/" target="_blank">And many more...</a></li>
          
        </ul>
      </div>
    
  </div>
</div>
  <div class="content redhat-footer">
  <div class="grid-wrapper">
    <span class="licence">
      <i class="fab fa-creative-commons"></i><i class="fab fa-creative-commons-by"></i> <a href="https://creativecommons.org/licenses/by/3.0/" target="_blank">CC by 3.0</a> | <a href="https://www.redhat.com/en/about/privacy-policy">Privacy Policy</a>
    </span>
    <span class="redhat">
      Sponsored by
    </span>
    <span class="redhat-logo">
      <a href="https://www.redhat.com/" target="_blank"><img src="/assets/images/redhat_reversed.svg"></a>
    </span>
  </div>
</div>


  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js" integrity="sha384-8gBf6Y4YYq7Jx97PIqmTwLPin4hxIzQw5aDmUg/DDhul9fFpbbLcLh3nTIIDJKhx" crossorigin="anonymous"></script>
  <script type="text/javascript" src="/assets/javascript/mobile-nav.js"></script>
  <script type="text/javascript" src="/assets/javascript/scroll-down.js"></script>
  <script src="/assets/javascript/satellite.js" type="text/javascript"></script>
  <script src="https://quarkus.io/guides/javascript/config.js" type="text/javascript"></script>
  <script src="/assets/javascript/search-filter.js" type="text/javascript"></script>
  <script src="/assets/javascript/back-to-top.js" type="text/javascript"></script>
</body>

</html>
